package core

import com.kennycason.kumo.WordFrequency
import org.apache.spark.{SparkConf, SparkContext}
import utils.WordCloudUtil

import scala.collection.JavaConverters._
import scala.collection.mutable.ArrayBuffer

object WordCount {

  def main(args: Array[String]): Unit = {
    // 创建Spark上下文
    /*
    其中master指的是运行模式
    1、local模式
      本地模式，所有计算都运行在一个线程当中，没有任何并行计算，通常练习时使用
      local[K]：这里的k指的是运行的k个进程，
      local[*]：按照CPU最多的核心设置进程
    2、Standalone模式
      运行在集群上
    3、Yarn模式
      运行yarn上，不布置额外的集群
    4、Mesos模式
      运行在Mesos上， Mesos是Apache下的开源分布式资源管理框架
      */
    val spark = new SparkContext("local",
      "WordCount")

    // 读取数据，word就是刚创建的文件
    val data = spark.textFile("data/word")

    // 方便计算的格式
    val result = data
      .flatMap(_.split("~")) // 使用~切分每条记录
      .map((_,1)) // java,1 html,1
     .countByKey() // 统计相同key值的数量

    println(result)

  }

}
